<template>
  <div class="main">
    <div class="title">
      <a class="active" href="/login">登录</a>
      <span>·</span>
      <a href="/register">注册</a>
    </div>

    <div class="sign-up-container">
      <el-form ref="loginForm" :model="loginObj">

        <el-form-item class="input-prepend restyle" prop="mobile" :rules="[{ required: true, message: '请输入手机号码', trigger: 'blur' },{validator: checkPhone, trigger: 'blur'}]">
          <div>
            <el-input type="text" placeholder="手机号" v-model="loginObj.mobile"/>
            <i class="iconfont icon-phone" />
          </div>
        </el-form-item>

        <el-form-item class="input-prepend" prop="password" :rules="[{ required: true, message: '请输入密码', trigger: 'blur' }]">
          <div>
            <el-input type="password" placeholder="密码" v-model="loginObj.password"/>
            <i class="iconfont icon-password"/>
          </div>
        </el-form-item>

        <div class="btn">
          <input type="button" class="sign-in-button" value="登录" @click="login()">
        </div>
      </el-form>
      <!-- 更多登录方式 -->
      <div class="more-sign">
        <h6>社交帐号登录</h6>
        <ul>
          <li><a id="weixin" class="weixin" target="_blank" href="http://localhost:9001/api/ucenter/wx/login"><i class="iconfont icon-weixin"/></a></li>
          <li><a id="qq" class="qq" target="_blank" href="#"><i class="iconfont icon-qq"/></a></li>
        </ul>
      </div>
    </div>

  </div>
</template>

<script>
  import '~/assets/css/sign.css'
  import '~/assets/css/iconfont.css'

  import cookie from 'js-cookie'           // 导入js-cookie插件
  import loginApi from '@/api/login'       // 导入登录API接口
  export default {
    layout: 'sign',                        // 使用登录注册布局
    data () {                              // 定义页面中显示的模型数据
      return {
        loginObj:{                         // 登录数据
          mobile:'',                       // --手机号
          password:''                      // --密码
        },
        memberInfo:{}                      // 会员信息
      }
    },

    methods: {

      /**
       * 会员登录
       */
      login() {
        const loading = this.$loading({
          lock: true,
          text: '正在登录...',
          spinner: 'el-icon-loading',
          background: 'rgba(0, 0, 0, 0.5)'
        });
        loginApi.login(this.loginObj).then(response => {
          loading.setText('登录成功，获取用户信息...')
          // 将token存入cookie（cookie名称，cookie值，cookie作用范围）
          cookie.set('guli_token', response.data.token, {domain: 'localhost'})
          // 根据token获取用户信息
          loginApi.memberInfo().then(response => {
            loading.close();
            this.memberInfo = response.data.memberInfo
            // 将用户信息json字符串存入cookie
            cookie.set('guli_ucenter', JSON.stringify(this.memberInfo), {domain: 'localhost'})
            // 跳转到首页
            window.location.href = "/";
          }).catch(error => {
            console.error(error)
            loading.close();
          })
        }).catch(error => {
          console.error(error)
          loading.close();
        })
      },

      /**
       * 验证手机号
       */
      checkPhone (rule, value, callback) {
        if (!(/^1[34578]\d{9}$/.test(value))) {
          return callback(new Error('手机号码格式不正确'))
        }
        return callback()
      }
    }
  }
</script>
<style>
   .el-form-item__error{
    z-index: 9999999;
  }
</style>